连续子数组的最大和

连续子数组的最大和

题目描述

{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)

  • 根据一个序列的特点,若前n个数的和小于0,则重新开始一个序列计算和,若大于等于0 ,则继续累加。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function FindGreatestSumOfSubArray(array)
{
// write code here
var currsum=array[0];
var maxsum=currsum;
for(var i=1;i<array.length;i++){
if(currsum<0){
currsum=array[i]
}else{
currsum+=array[i]
}
if(currsum>maxsum){
maxsum=currsum;
}

}
return maxsum;
}